Support for NXP S32K14XX #661
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add NXP S32K1xx Support
This PR adds full wolfBoot support for the NXP S32K1xx automotive microcontroller family (S32K142, S32K144, S32K146, S32K148).
Summary
Adds a complete bare-metal HAL implementation for the S32K1xx Cortex-M4F family with sector-swap firmware update capability. Tested on S32K142EVB with successful firmware updates.
Features
HAL Implementation (
hal/s32k1xx.c,hal/s32k1xx.h):Test Application (
test-app/app_s32k1xx.c):status,trigger,success,reboot,helpConfiguration Files:
config/examples/nxp-s32k142.config- 256KB Flash, 32KB SRAM, 2KB sectorsconfig/examples/nxp-s32k144.config- 512KB Flash, 64KB SRAM, 4KB sectorsconfig/examples/nxp-s32k146.config- 1MB Flash, 128KB SRAM, 4KB sectorsconfig/examples/nxp-s32k148.config- 2MB Flash, 256KB SRAM, 4KB sectorsTooling:
tools/scripts/nxp-s32k142-flash.sh- Automated build, sign, and flash script using J-LinkMemory Layout (S32K142)
Important Configuration Requirements
NVM_FLASH_WRITEONCE=1- Required because S32K1xx flash cannot be reprogrammed without eraseRAM_CODE=1- Required because flash cannot be read while being programmedBuild & Test
Files Changed
hal/s32k1xx.c,hal/s32k1xx.h,hal/s32k1xx.ld,test-app/app_s32k1xx.c,test-app/ARM-s32k1xx.lddocs/Targets.mdTesting
Verified on S32K142EVB: